parameter WORD_WD   = 8,
parameter MEM_SIZE  = 256,
parameter ADDR_WD   = $clog2(MEM_SIZE),
parameter OPCODE_NUM = 9,
parameter OPCODE_WD = $clog2(OPCODE_NUM),
parameter SRC_WD    = 2,
parameter DEST_WD   = 2,

parameter SEL1_NUM = 5,
parameter SEL2_NUM = 3,
parameter SEL1_WD  = $clog2(SEL1_NUM),
parameter SEL2_WD  = $clog2(SEL2_NUM),

parameter NOP = 'b0000,
parameter ADD = 'b0001,
parameter SUB = 'b0010,
parameter AND = 'b0011,
parameter NOT = 'b0100,
parameter RD  = 'b0101,
parameter WR  = 'b0110,
parameter BR  = 'b0111,
parameter BRZ = 'b0111,

parameter STATE_NUM = 12,
parameter STATE_WD  = $clog2(STATE_NUM),
parameter S_IDLE    = 'h0,
parameter S_FET1    = 'h1,
parameter S_FET2    = 'h2,
parameter S_DEC     = 'h3,
parameter S_EX1     = 'h4,
parameter S_RD1     = 'h5,
parameter S_RD2     = 'h6,
parameter S_WR1     = 'h7,
parameter S_WR2     = 'h8,
parameter S_BR1     = 'h9,
parameter S_BR2     = 'ha,
parameter S_HALT    = 'hb,

parameter SEL_R0 = 0,
parameter SEL_R1 = 1,
parameter SEL_R2 = 2,
parameter SEL_R3 = 3,

parameter DISPLAY_EN = 0